package com.splic.product.mapper;

import java.util.List;

import com.github.pagehelper.Page;
import com.splic.product.domain.Order;
import com.splic.product.dto.OrderDto;
import com.splic.product.dto.OrderScaleDto;
import com.splic.product.dto.OrderStatisDto;
import org.apache.ibatis.annotations.Param;

/**
 * 订单Mapper接口
 * 
 * @author singe
 * @date 2022-01-04
 */
public interface OrderMapper 
{
    /**
     * 查询订单
     * 
     * @param id 订单主键
     * @return 订单
     */
    public Order selectOrderById(Long id);

    /**
     * 查询订单列表
     * 
     * @param order 订单
     * @return 订单集合
     */
    public Page<Order> selectOrderList(OrderDto order);

    /**
     * 新增订单
     * 
     * @param order 订单
     * @return 结果
     */
    public int insert(Order order);

    /**
     * 修改订单
     * 
     * @param order 订单
     * @return 结果
     */
    public int update(Order order);

    /**
     * 删除订单
     *
     * @param id 订单主键
     * @return 结果
     */
    public int deleteById(Long id);


    Order selectOrderByOrderNo(String orderNo);

    void updateThirdOrderNo(@Param("payNo") String payNo,@Param("orderNo") String orderNo);

    List<OrderStatisDto> selectStatisPageList(OrderStatisDto orderStatisDto);

    List<OrderScaleDto> selectStatisList(OrderScaleDto orderScaleDto);
}
